# -*- coding:UTF-8 -*-
"""
全局 前置  后置
"""
from selenium.webdriver import Chrome
from selenium import webdriver

import pytest,os

from common.get_log import BotLogger
from common.get_config import *
from page_object.login.login_page import LoginPage

logger = BotLogger(os.path.basename(__file__), logname=1).getLogger()

@pytest.fixture(scope='module')
def global_fixture():
    logger.info("==========开始 云智爱项目 执行测试===========")
    # global driver
    # driver = webdriver.Chrome()
    # driver.maximize_window()
    # yield driver
    # driver.quit()
    yield
    logger.info("==========结束 云智爱项目 测试===========")

def create_driver():
    """
    打开浏览器，创建driver对象，控制无头浏览器
    :return: driver
    """
    # print(ReadConfig().get_Drive('headless'))
    if ReadConfig().get_Drive('headless') == True:
    # if ReadConfig().get_Drive('headless'):
    # if conf.getboolean('run', 'headless'):
        # 创建ChromeOptions对象，增加无头参数
        print('这是无头浏览器')
        logger.info('这是无头浏览器')
        options = webdriver.ChromeOptions()
        options.add_argument('--headless')
        # 增加禁用GPU（图形处理器）渲染的参数，为了加快速度减少时间
        options.add_argument('--disable-gpu')
        options.add_argument('--ignore-certificate-errors')
        # options.binary_location = "E:\\Chrome\\Chrome\\App\\Google Chrome.exe"
        driver = webdriver.Chrome(options=options)
    else:
        # driver = Chrome()
        options = webdriver.ChromeOptions()
        options.add_argument('--ignore-certificate-errors')
        # options.binary_location = "E:\\Chrome\\Chrome\\App\\Google Chrome.exe"  # chrome 不是安装在C盘
        driver = webdriver.Chrome(options=options)
    return driver


@pytest.fixture(scope='package')
def class_fixture():
    """
    类级别前置
    前置：启动浏览器-->登录系统地址-->登录系统
    后置：关闭浏览器
    :return:
    """
    # 实例化驱动
    driver = create_driver()
    driver.implicitly_wait(10)
    driver.maximize_window()
    url = ReadConfig().get_Url('base_url')
    driver.get(url)
    driver.maximize_window()
    driver.implicitly_wait(8)
    # 为页面类添加驱动，并实例化使用
    # login_page = LoginPage(driver)
    # account  = ReadConfig().get_User('account')
    # pwd = ReadConfig().get_User('pwd')
    # if account or pwd == '':
    #     logger.info('-----未获取到用户信息-----')
    # login_page.login1(account,pwd)

    # change_tenant_page = ChangeTenantPage(driver)
    # 登录-->选机构
    # login_page.login(conf.get("login_data", "mobile"), conf.get("login_data", "pwd"))
    # change_tenant_page.login_tenant(conf.get("login_data", "tenant_name"))
    yield driver
    driver.quit()

# print(create_driver())